/* Es wird ein JPanel erzeugt  das
 * dann in das Dashboard eingebunden wird.
 *  
 * 
 * Datei: ProfilGUI.java  Autor: Johannes Reinhard
 * Datum: 04.11.2011               Version: 0.3 
 */
package GUI;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import personenverwaltung.*;

public class ProfilGUI
{
  private JFrame profil;
  protected Dimension bildschirm;        /*Bildschirmgroesse*/
  protected Dashboard sichereDashboard;  /*Objekt Dashboard*/
  private JTabbedPane tab;
  
  protected int nutzerID;
  protected Personenverwaltung persverw;
  protected WechselSprache sprache;
  
  protected static boolean schliessen = true;

  /**
   * Konstruktor der Klasse ProfilGUI
   * @param bord
   */
  protected ProfilGUI (Dashboard bord)
  {
    if (schliessen)
    {
      profil = new JFrame ();
      tab = new JTabbedPane ();
      sichereDashboard = bord;
      bildschirm = sichereDashboard.gibBildschirmgroesse ();
      nutzerID = Dashboard.nutzerID;
      persverw = sichereDashboard.persVer;
      erzeugeProfilGUI ();
      schliessen = false;
    }
  }
  
  /**
   * Erzeuge Tabs die dann auf ein JPanel eingebunden werden
   */
  private void erzeugeProfilGUI ()
  { 	
    /* Tabs */
    Benutzerdaten daten = new Benutzerdaten (sichereDashboard);
    Kosten kosten = new Kosten (sichereDashboard);
    Passwort passwort = new Passwort (sichereDashboard);
    Vormerkungen merken = new Vormerkungen (sichereDashboard);
    Entleihungen leihen = new Entleihungen (sichereDashboard);
	
    JPanel platz = new JPanel ();
    profil.add (platz, BorderLayout.WEST);
	  
    /* Einzelnen Tabs mit Verschiedenen Fenster wird geladen */
    profil.add (tab);
    tab.add (Dashboard.sprache.lokal.gibUebersetzung("Benutzerdaten"),
	daten.getJPanelProfilGUI ());
    tab.add (Dashboard.sprache.lokal.gibUebersetzung("Entleihungen"), 
	leihen.getJPanelProfilGUI ());
    tab.add (Dashboard.sprache.lokal.gibUebersetzung("Vormerkungen"), 
	merken.getJPanelProfilGUI ());
    tab.add (Dashboard.sprache.lokal.gibUebersetzung("Kosten"), 
	kosten.getJPanelProfilGUI ());
    tab.add (Dashboard.sprache.lokal.gibUebersetzung("Passwort"), 
	passwort.getJPanelProfilGUI ());
	
    profil.setVisible (true);
    profil.setSize (800, 600);
	  
    /* Was passiert wenn das Fenster geschlossen wird.*/
    profil.addWindowListener (new WindowAdapter() 
    {
      public void windowClosing (WindowEvent e) 
      {
	schliessen = true;
      }
    });
  }
  
  protected JFrame gibProfil ()
  {
    return profil;
  }
}
